"""
Celery将这三者串联起来
生产者   队列   消费者
1.创建celery
2.设置队列（broker）
3.设置生产者（任务task）
    ①任务的本质就是函数
    ②这个函数必须要被celery的实例对象的task装饰器装饰
    ③必须调用celery实例对象的自动检测来检测任务
4.设置消费者
    celery -A celery实例对象的文件 worker -l info

    celery -A celery_tasks.main worker -l info
"""

# 让celery去加载我们当前工程中的配置文件
# 从manage.py中去复制粘贴就好
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo.settings")

from celery import Celery

# 给实例起个名字，名字唯一即可
app = Celery('celery_tasks')


# celery设置broker队列
# config_from_object的参数就是配置文件的路径
app.config_from_object("celery_tasks.config")

# 让celery自动检测任务
# autodiscover_tasks参数是列表
# 列表的元素是：任务的包路径
# 在应用的根目录celery_tasks.sms下新建tasks.py,设置函数，并用@app-add装饰。即可添加到列表中
# 注：文件名一定名为tasks
app.autodiscover_tasks(['celery_tasks.sms'])


# 上面的写好后，在终端执行celery -A celery_tasks.main worker -l info
# 即可开启消费者